7d78ba3268120f2861952cb85bdd31b882dd71ff,plugins/mps-build/languages/build.mps/source_gen/jetbrains/mps/build/mps/util/ModuleLoader.java,ModuleLoader,importRuntime,#,432
Before Change
report("cannot find runtime solution in dependencies: " + module.getModuleFqName(), myModule);
continue;
}
SNode ul = SConceptOperations.createNewNode("jetbrains.mps.build.mps.structure.BuildMps_ModuleSolutionRuntime", null);
SLinkOperations.setTarget(ul, "solution", resolved, false);
ListSequence.fromList(SLinkOperations.getTargets(SNodeOperations.cast(myModule, "jetbrains.mps.build.mps.structure.BuildMps_Language"), "runtime", true)).addElement(ul);
}
After Change
continue;
}
SNode ul = SNodeOperations.as(ListSequence.fromList(previous).findFirst(new IWhereFilter<SNode>() {
public boolean accept(SNode it) {
return SNodeOperations.isInstanceOf(it, "jetbrains.mps.build.mps.structure.BuildMps_ModuleSolutionRuntime") && SLinkOperations.getTarget(SNodeOperations.cast(it, "jetbrains.mps.build.mps.structure.BuildMps_ModuleSolutionRuntime"), "solution", false) == resolved;
}
}), "jetbrains.mps.build.mps.structure.BuildMps_ModuleSolutionRuntime");
if (ul == null) {
ul = SConceptOperations.createNewNode("jetbrains.mps.build.mps.structure.BuildMps_ModuleSolutionRuntime", null);
SLinkOperations.setTarget(ul, "solution", resolved, false);
ListSequence.fromList(SLinkOperations.getTargets(SNodeOperations.cast(myModule, "jetbrains.mps.build.mps.structure.BuildMps_Language"), "runtime", true)).addElement(ul);
} else {
ListSequence.fromList(previous).removeElement(ul);
}
}
for (ModelRoot entry : descriptor.getRuntimeStubModels()) {